package com.decent.sms.service;

import com.decent.sms.entity.IAcsBean;
import com.decent.sms.enums.SmsTypeEnum;
import com.aliyuncs.exceptions.ClientException;
import com.decent.common.bo.SimpleMessage;

/**
 * 短信服务管理
 *
 * @author wangyx
 */
public interface SmsService {
    /**
     * 滑块验证码校验并发送短信
     *
     * @param telephone 手机号
     * @param type      短信类型
     * @param ip        操作ip
     * @param bean      阿里滑块相关信息
     * @return SimpleMessage
     * @throws ClientException 阿里滑块验证异常
     */
    SimpleMessage sendIacsCode(String telephone, SmsTypeEnum type, String ip, IAcsBean bean) throws ClientException;

    /**
     * 短信验证码校验
     *
     * @param telephone  手机号
     * @param verifyCode 验证码
     * @param type       短信类型
     */
    void verifyCode(String telephone, String verifyCode, SmsTypeEnum type);
}
